package cn.huijielong.modules.oss.service;

import cn.huijielong.common.utils.RD;
import cn.huijielong.modules.oss.cloud.OSSConfig;
import cn.huijielong.modules.oss.entity.OssFileEntity;

import java.util.List;
import java.util.Map;

import org.springframework.web.multipart.MultipartFile;

/**
 * oss云文件（图片、文档）
 * 
 * @author xietong
 * @email xietong@gmail.com
 * @date 2018-04-02 13:48:46
 */
public interface OssFileService {
	
	OssFileEntity queryObject(Long id);
	
	List<OssFileEntity> queryList(Long tableId,String tableType);
	/**
	 * 查询文件
	 * @param tableId
	 * @param tableType
	 * @return
	 */
	List<String> queryFiles(Long tableId,String tableType);
	/**
	 * 查询文件
	 * @param tableId
	 * @param tableType
	 * @param tag
	 * @return
	 */
	List<String> queryFiles(Long tableId,String tableType,String tag);
	
	int queryTotal(Map<String, Object> map);
	
	RD save(OssFileEntity ossFile);
	
	RD update(OssFileEntity ossFile);
	
	void delete(Long tableId,String tableType);
	
	String getPrivateUrl(String fileKey);
	Map<String,String> getPrivateUrl(List<String> fileKeys);
	
	OSSConfig getOSSConfig();
}
